package org.chen.service;

import org.chen.model.dto.ArticleDTO;
import org.chen.model.dto.ArticleUpdateDTO;
import org.chen.model.elastic.AdminArticleQueryParam;
import org.chen.model.elastic.ArticlePageResult;
import org.chen.model.elastic.SearchResult;
import org.chen.model.vo.ArticleVO;
import org.springframework.data.domain.Page;

import java.util.List;

public interface IArticleService {
    ArticlePageResult getArticleList(AdminArticleQueryParam queryParam);
    ArticleVO getArticleById(String id);
    String createArticle(ArticleDTO articleDTO);
    void updateArticle(String id, ArticleUpdateDTO articleDTO);
    void deleteArticle(String id);
    void updateStatus(String id, Integer status);

    ArticleVO getArticleByIdForEdit(String id);

    void updateArticlesSource(List<String> ids, String source);

    void updateArticlesStatus(List<String> ids, Integer status);

    void deleteArticles(List<String> ids);

    ArticlePageResult getDraftsArticleList(AdminArticleQueryParam queryParam);
}
